package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;

@Data
@TableName("employee_verification")
@ApiModel("员工入职信息核定表")
public class EmployeeVerification {

    @TableId(type = IdType.AUTO)
    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("招聘经办人")
    private String recruitmentAgent;

    @ApiModelProperty("用人单位面试人")
    private String interviewer;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("面试时间")
    private LocalDate interviewTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("报到时间")
    private LocalDate reportTime;

    @ApiModelProperty("拟派部门")
    private String department;

    @ApiModelProperty("拟定岗位")
    private String position;

    @ApiModelProperty("入职培训人")
    private String onboardingTrainer;

    @ApiModelProperty("岗前培训人")
    private String preJobTrainer;

    @ApiModelProperty("传、帮、带责任人（岗位）")
    private String mentorPosition;

    @ApiModelProperty("职业规划导师（用人部门）")
    private String careerMentor;

    @ApiModelProperty("基本工资")
    private BigDecimal basicSalary;

    @ApiModelProperty("基本工资备注")
    private String basicSalaryNote;

    @ApiModelProperty("加班工资")
    private BigDecimal overtimePay;

    @ApiModelProperty("加班工资备注")
    private String overtimePayNote;

    @ApiModelProperty("工龄工资")
    private BigDecimal seniority;

    @ApiModelProperty("工龄工资备注")
    private String seniorityNote;

    @ApiModelProperty("绩效工资")
    private BigDecimal performancePay;

    @ApiModelProperty("绩效工资备注")
    private String performancePayNote;

    @ApiModelProperty("岗位津贴")
    private BigDecimal postAllowance;

    @ApiModelProperty("岗位津贴备注")
    private String postAllowanceNote;

    @ApiModelProperty("其他工资")
    private BigDecimal otherPay;

    @ApiModelProperty("其他工资备注")
    private String otherPayNote;

    @ApiModelProperty("人资主管/经理签名")
    private String hrManagerSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("人资主管/经理签字日期")
    private LocalDate hrManagerDate;

    @ApiModelProperty("部门经理签名")
    private String departmentManagerSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("部门经理签字日期")
    private LocalDate departmentManagerDate;

    @ApiModelProperty("部门主管签名")
    private String departmentSupervisorSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("部门主管签字日期")
    private LocalDate departmentSupervisorDate;

    @ApiModelProperty("企业管理部签名")
    private String corporateManagementSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("企业管理部签字日期")
    private LocalDate corporateManagementDate;

    @ApiModelProperty("总经理签名")
    private String generalManagerSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("总经理签字日期")
    private LocalDate generalManagerDate;

    @ApiModelProperty("部门部长/总监签名")
    private String departmentDirectorSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("部门部长/总监签字日期")
    private LocalDate departmentDirectorDate;

    @ApiModelProperty("总裁/董事长签名")
    private String presidentSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("总裁/董事长签字日期")
    private LocalDate presidentDate;

    @ApiModelProperty("员工签名")
    private String employeeSignature;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("员工签字日期")
    private LocalDate employeeDate;

    @TableLogic
    @ApiModelProperty("逻辑删除标志：0-未删除，1-已删除")
    private Integer deleted;
}